In recent years, storage systems achieving large-capacity data storage by using a plurality of storage media have been widespread. In such a storage system, between a computing apparatus, such as a server that processes data or a storage controller, and a storage medium, such as a hard disk drive that stores data, a network is constructed with switches and cables. With a frame containing data and commands being communicated over the network between the computing apparatus and the storage medium, data is read and written. At this time, as an initiator, the computing apparatus transmits a command to a storage device serving as a target for writing or reading data. That is, the computing apparatus takes the initiative in processing in the storage system, whilst the storage medium operates in a passive manner.
Meanwhile, the switches provided between the computing apparatus and the storage medium each include ports connecting to the computing apparatus, the storage medium, or other switches. A port is an interface complying with, for example, Serial attached SCSI (SAS) standard. A frame transmitted from the computing apparatus or the storage device is transferred via the ports of the switches. That is, each switch switches an output port of the input frame to control a frame transfer route.
Ports included in a switch are broadly classified into two types, a direct port and a cascade port. The direct port is a port directly connecting to the computing apparatus or a storage medium under the direct port. The cascade port is a port connecting to another switch. Therefore, the frame transmitted from the computing apparatus or the storage device is input to a switch of the first stage via a direct port, and is then output to another switch via a cascade port. The frame is then transferred by several switches, and is eventually output from a direct port of the switch connecting to a storage device or a computing apparatus, which is the transmission destination of the frame.
In frame transfer with such switches, a routing table is generally referred to. The routing table is a table generated at each switch separately at initialization of the network or the like, having stored therein a correspondence between the transmission destination address and the output port of the frame. That is, the routing table has stored therein from which port in the switch the frame is to be output for transfer the frame to the transmission destination address. When a frame is input, the switch checks the transmission destination address from the header portion of the frame, and then searches the routing table for an output port corresponding to the transmission destination address. The switch then causes the frame to be output from the output port determined through searching of the routing table.
Such a conventional technology is exemplarily disclosed in Japanese Laid-open Patent Publication No. 2005-267327.
However, in routing of the frame by the switches, it takes time for each switch to refer to the routing table to determine an output port, disadvantageously delaying writing of data in a storage medium or reading of data from a storage medium. Normally, for the address of every computing apparatus and storage medium in the storage system, the routing table has stored therein a corresponding output port. Therefore, to refer to the routing table to determine an output port, the switch is required to search many addresses for an address matching the transmission destination address of the frame. Since such a search is performed at every switch on a route from the transmission source to the transmission destination of the frame, a delay occurs when the frame is transferred to its transmission destination.
Moreover, in recent years, with downsizing of hard disk drives, for example, a larger number of storage media can be incorporated in a single storage system. Thus, the routing table has to have stored therein a correspondence between many addresses and output ports, and therefore the size of the routing table tends to be increased. As a result, more time is required to search for an address that matches the transmission destination address of the frame, increasing delays in frame transfer in the switch.